Earlier research showed that minor, slowness and low pitch in music gives us a sad feeling.
Results AOC
Introduction
For this project I want to use the findings out of an earlier Musicology project. In my research on what makes music ‘sad’ I found that the minor aspect is the thing what makes music sad. Besides that aspect, also slowness and low pitch are important for giving a listener a sad feeling. My big goal for this portfolio project is to make a widget that measures how sad someone’s playlist is by comparing these factors in a 3:2:1 ratio. This is based on the results, as you can see in the graph. With these outcomes I want to make a day by day scheme for how ‘sad’ your day was according to the songs you listened that day. A calendar that shows your mood based on the music you listen ;). For now this is a too big goal, for this project my research question is
’What is the mood of my own music, compared to most listenend pophits?
So my first step is to compare the major/minor- ratio and the mean tempo of my own playlist ‘Most listened 2018’ to ‘Top 50 Nederland’ playlist. I have not found a way yet to measure the pitch of the songs in the playlists, so for now I use the ‘loudness’ as extra indicator.
First Results
So far it seems that my own playlist is less sad than the Top 50 Nederland. Minor is 31% against 40% in Top 50 Nederland. My mean tempo is 120 BPM (sd= 31.7) against 116 BPM (sd= 24,0) For loudness the outcome for my most listened 2018 has a mean of -8,06 ; sd= 3,55. For Top50NL it has a mean of -6,64 with sd= 2,84.
Formula
I can make a formule to calculate the sadness (because of the different in numbers this formulate is not really accurate, but it is a sketch for futher steps).
Sadness= 3mode -2(tempo/1000) -loudness/10.
Sadness(Top50NL)= 3x0,40 - 2x0,116 + 0,664 = 1.632
Sadness(My2018)= 3x0,31 - 2x0,120 + 0,806 = 1.976
Goals
My goal is to create a formule that which takes these aspects in a 3:2:1 ratio and is based on a 1 to 100 scale.
Imported to keep in mind for the next weeks is that aspects as tempo and loudness are not well measured for songs with long silent intros, like You- The 1975. Those kind of songs are better left behind. While googling for these statistics I found out that Spotify has a correctness chance, this is something to use in the next weeks.
I would also prefer to use Last.fm for my statistics, because I spend a big amount of my music listening on YouTube.
My own playlist (6,000 songs) comparement with a playlist of hits in all popgenres (10,000).
This is a JPEG image due of the large amount of data
Comparement and variables
First of all, I decided to change the playlist I’m comparing. I have a playlist where I put in all the music I listen to. This playlist consist of almost 6,000 songs. I compare this playlist with a playlist that consists of 10.000, based on the most famous songs per genre. Good to notice is that this playlist is almost twice as big as my own playlist (10K versus 6K) It is hard to decide what kind of playlist is best fitting for my project. Because I’m comparing my own music to ‘normal’ music, I should have a playlist that consist of songs that are most listened, and known by the greatest amount of people.
Dr. Burgoyne told us in the last lecture that Energy and Valence are mostly used in music cognition for measuring emotion is music. This made me change my way of doing it in the research, so for now on I’ll use energy, valence, mode, loudness and tempo as variables.The example visualisation dr. Burgoyne made for our lecture was luckily for me fitting for my portfolio!
Based on what Dr. Burgoyne told in the lecture, for this research I will use: mode, tempo, loudness, energy and valence. Luckily for me, dr. Burgoyne already made a really good visualisation using these factors, so the only thing I had to do was chancing the visualisation to my own playlists. Besides I changed the way minor/minor was visualised in colors and added tempo to the alpha factor.
Conclusion
While the 10K playlist makes a clear line from the left bottum corner to the right top corner, my playlist really clusters at the left. There is a cluster at the left bottum corner, which would mean that my music is partly ‘sad’. There’s also a cluster at the middle of the buttom of this graph, what would be an ‘anger’ cluster.
The differences between the three versions of ‘The 1975’ by the band The 1975.
Case Study: The 1975
One thing is clear, my all time favorite artist is the British band The 1975. To go a bit deeper into the music I listen to, I take my favourite band as a case study for the next analyse technique. I can give a whole TedTalk why this is the best band ever, but I will give you one reason in this project. Every album, they start off with the same song, ‘The 1975’. Same lyrics, but different in style. As a prelude, the band introduces the style of the album with this song. But how much do these versions actually differ? Time to use the track analysis.
Conclusion As you can see there’s a little difference in the pitches that are used in the three songs. Clear to see that the most recent version has repeated sequences. The second one has longer sequences, what is more used in an electronic style. And the fist one, has the most build up sequence.
Self-similarity of the normal and alt version of ‘Somebody Else’ by the band ‘The 1975’.
Alt versus normal version - Long distance comparement My most listened song of The 1975 is ‘Somebody Else’. This song has two versions, a normal and an ‘Alt’ version. In my opinion, the versions do not differ so much, by ear. Let’s use this analysis to see whether I am right or not!
Conclusion Somebody Else seems only to differ in the bridge part of the song, but in the rest of the song, the song is mostly the same.
Style differences
Another key charastic of The 1975 is their use of different styles between songs. My favourite song, ‘Robbers’ is quite a pop song. Their most famous song, ‘Chocolate’ is one of the most ‘wannabe boyband popsong of the ’10’s’ you could think of. However ‘Please Be Naked’ is a completely instrumental, in a piano/electronic way.
Conclusion
As you can see out of the plots, the most colorfull one in all 12 sections is the instrumental ‘Please Be Naked’. ‘Chocolate’ is almost completely blue and ‘Robbers’ has a little yellow, meaning that the more ‘poppy’ a song is, the less color in the timbre sections has.
Style differences
Using the same three songs of previous plot, you can also see that the popsongs have a clear bridge convention. This means that the song is verse-chorus-verse-BRIDGE-chorus. The ‘Please Be Naked’ song, however, has a clear segmentations in it, which means that there are way more sections within the song.There is even no verse, chorus or bridge. There is a repeated segment at the end, and that is it.
***
In the comparement of tonal analysis you can see that they are mostly the same. All blue graphs. ### Low level features (116)
*** These low level features show once again that my own playlist is quite different from the pop playlist.
Once again, these low level features show that my playlist is quite different from the popplaylist.
Truth
Prediction Happy Tunes Mar19 Sad Songs
Happy Tunes 17 8 1
Mar19 1 5 3
Sad Songs 2 7 16
# A tibble: 3 x 3
.metric .estimator .estimate
<chr> <chr> <dbl>
1 accuracy multiclass 0.633
2 kap multiclass 0.450
3 j_index macro 0.45
# A tibble: 3 x 3
.metric .estimator .estimate
<chr> <chr> <dbl>
1 accuracy multiclass 0.633
2 kap multiclass 0.450
3 j_index macro 0.45
$`Happy Tunes`
35 x 1 sparse Matrix of class "dgCMatrix"
s0
-0.01883133
danceability 0.39622200
energy .
loudness .
speechiness .
acousticness -0.10285760
instrumentalness .
liveness .
valence 0.19609347
tempo .
duration_ms .
C .
`C#|Db` 0.03673993
D .
`D#|Eb` .
E .
F .
`F#|Gb` .
G .
`G#|Ab` .
A .
`A#|Bb` .
B .
c01 .
c02 .
c03 .
c04 .
c05 .
c06 .
c07 .
c08 .
c09 .
c10 .
c11 .
c12 .
$Mar19
35 x 1 sparse Matrix of class "dgCMatrix"
s0
0.12938298
danceability .
energy .
loudness .
speechiness .
acousticness .
instrumentalness 0.37483258
liveness .
valence .
tempo .
duration_ms .
C -0.09678894
`C#|Db` .
D .
`D#|Eb` .
E .
F .
`F#|Gb` .
G .
`G#|Ab` .
A .
`A#|Bb` 0.09909007
B .
c01 .
c02 .
c03 0.06880478
c04 .
c05 .
c06 .
c07 .
c08 .
c09 .
c10 .
c11 0.01759180
c12 .
$`Sad Songs`
35 x 1 sparse Matrix of class "dgCMatrix"
s0
-0.11055164
danceability .
energy -0.58149187
loudness .
speechiness .
acousticness 0.09640198
instrumentalness .
liveness .
valence .
tempo .
duration_ms .
C .
`C#|Db` .
D .
`D#|Eb` .
E .
F .
`F#|Gb` .
G .
`G#|Ab` .
A .
`A#|Bb` .
B .
c01 .
c02 .
c03 .
c04 -0.18909552
c05 0.12120796
c06 .
c07 .
c08 .
c09 .
c10 -0.16910405
c11 .
c12 .
# A tibble: 3 x 3
.metric .estimator .estimate
<chr> <chr> <dbl>
1 accuracy multiclass 0.583
2 kap multiclass 0.375
3 j_index macro 0.375
Call:
C5.0.default(x = x, y = y, trials = 1, control =
C50::C5.0Control(minCases = 2, sample = 0))
C5.0 [Release 2.07 GPL Edition] Fri Mar 22 16:02:31 2019
-------------------------------
Class specified by attribute `outcome'
Read 60 cases (35 attributes) from undefined.data
Decision tree:
c02 > 0.3022048:
:...danceability <= -0.1379389: Mar19 (6)
: danceability > -0.1379389:
: :...c08 <= 0.8168036: Happy Tunes (18/1)
: c08 > 0.8168036: Mar19 (3)
c02 <= 0.3022048:
:...danceability > 0.5705152:
:...c08 <= 1.031591: Happy Tunes (3)
: c08 > 1.031591: Mar19 (2)
danceability <= 0.5705152:
:...liveness > -0.07266768: Mar19 (3)
liveness <= -0.07266768:
:...C <= -1.405893: Mar19 (2)
C > -1.405893:
:...instrumentalness <= -0.3317828: Sad Songs (19)
instrumentalness > -0.3317828: Mar19 (4/1)
Evaluation on training data (60 cases):
Decision Tree
----------------
Size Errors
9 2( 3.3%) <<
(a) (b) (c) <-classified as
---- ---- ----
20 (a): class Happy Tunes
1 19 (b): class Mar19
1 19 (c): class Sad Songs
Attribute usage:
100.00% danceability
100.00% c02
46.67% liveness
43.33% c08
41.67% C
38.33% instrumentalness
Time: 0.0 secs
# A tibble: 3 x 3
.metric .estimator .estimate
<chr> <chr> <dbl>
1 accuracy multiclass 0.717
2 kap multiclass 0.575
3 j_index macro 0.575
# A tibble: 3 x 3
.metric .estimator .estimate
<chr> <chr> <dbl>
1 accuracy multiclass 0.583
2 kap multiclass 0.375
3 j_index macro 0.375
Heartbeat The song Please Be Naked is charastic for the use of a heartbeat is prominent beat. The closer to the end of the song, the louder the heartbeat is.
K-means clustering with 2 clusters of sizes 49, 74
Cluster means:
danceability energy loudness speechiness acousticness
1 -0.4493567 -1.0091057 -0.7638173 -0.2988023 1.055163
2 0.2975470 0.6681916 0.5057709 0.1978556 -0.698689
instrumentalness liveness valence tempo duration_ms C
1 0.03435315 -0.2396911 -0.658002 -0.1572882 0.10384111 0.5717892
2 -0.02274736 0.1587144 0.435704 0.1041503 -0.06875965 -0.3786171
C#|Db D D#|Eb E F F#|Gb
1 -0.2969300 0.3692312 -0.1548718 0.3199536 0.1992353 -0.4814657
2 0.1966158 -0.2444909 0.1025503 -0.2118612 -0.1319261 0.3188084
G G#|Ab A A#|Bb B c01
1 0.5849595 -0.4157955 0.11856961 -0.4657934 -0.09893415 -0.8496090
2 -0.3873381 0.2753240 -0.07851231 0.3084308 0.06551045 0.5625789
c02 c03 c04 c05 c06 c07
1 -0.8957742 -0.2503521 -0.6076917 0.6488884 0.4341056 -0.4815712
2 0.5931478 0.1657737 0.4023905 -0.4296693 -0.2874483 0.3188782
c08 c09 c10 c11 c12
1 0.02970051 0.12913594 -0.8177227 -0.008008478 0.4140531
2 -0.01966655 -0.08550893 0.5414651 0.005302911 -0.2741703
Clustering vector:
Tough Grace Someone You Loved
2 2 1
Something Borrowe... It's Not Living (... Grow Old with Me
2 2 1
Quarter Past Midn... Riptide Future Looks Good
2 2 2
TOOTIMETOOTIMETOO... I Will Wait Killer Queen
2 2 2
Bee-Sting t-shirt Dog Days Are Over
2 2 2
Little Talks Sunday Smile 1950
2 2 2
A Sky Full of Stars Losing Touch Grip
2 2 2
If You're Over Me Castle on the Hill Budapest
2 2 2
Rewrite The Stars... Superheroes Walk Alone (feat....
2 2 2
Here Comes The Su... Please Don't Go Beach House
2 2 2
Viva La Vida Lost In Japan - R... Perfect To Me
2 2 2
Love Song Go Your Own Way September Song
2 2 2
Polaroid Conqueror No One Compares T...
2 2 2
Wake Up I Believe in You Dancing On Glass
2 2 2
Cassy O' Sex on Fire Fireflies
2 2 2
Lisztomania Gut Feeling I'm Yours
2 2 2
Happy Now Body Heat Paris
2 2 2
Just a Little Longer Best Day Of My Life Don't Kill My Vibe
2 2 2
Big Plans Close To Me (with... This Feeling (fea...
2 2 2
Anti-Everything Come On Eileen Party For One
2 2 2
On Top Of The World Can You Feel It Suddenly I See
2 2 2
Nothing but a Hea... Lost Without You Supermarket Flowers
2 1 1
Say Something To Build A Home Dancing With A St...
1 1 1
Not About Angels Leave a Light On No Right To Love ...
1 2 1
Breathe Me Be Alright I Miss You (feat....
2 1 1
Love Me Back - Ac... Sober Like Everybody El...
1 1 1
In My Head The Love You Left... Happier
1 1 1
I'll Never Love A... Tell Me That You ... Homesick
1 1 1
Better Than Today Is It Really Me Y... Empty Space
1 1 2
Enough for You Hounds You're Gonna Brea...
1 1 1
Hand That You Hold Waiting Room - Demo Miracle Love
1 1 2
Maybe It Was Me Disconnected Like I Did
1 1 2
Darling Whole - demo Hell or High Wate...
1 1 1
I'm Still Here Better Superhero
2 1 1
Cigarette Break Boy Loves Me Is She Gonna Be T...
2 1 1
This Fire T-Shirts - Acoustic Again - Acoustic ...
1 1 1
The Worrying The Bird Half As Good As Y...
2 1 1
Punches (with LP) Secretly Hoping Y... Girl - Acoustic
1 1 1
Faking It Why Am I Like This? Stranded Love
2 1 2
Sometimes <U+25D0> - Liv... I Still Love You ... Sinead - Lessons ...
1 1 2
If I'm Being Honest They Own This Town Rupi Kaur
1 2 1
Within cluster sum of squares by cluster:
[1] 1491.426 1932.198
(between_SS / total_SS = 17.5 %)
Available components:
[1] "cluster" "centers" "totss" "withinss"
[5] "tot.withinss" "betweenss" "size" "iter"
[9] "ifault"
[1] 432.0 345.6
Student Made by Marielle Baelemans, 2019. For info: marielle.baelemans@student.uva.nl.
University This portfolio is part of the Computational Musicology course, given by the Musicology department of the University of Amsterdam.